Point-to-Point communication systems are prevalent in which data is transferred from one computer network to another through a switch network. An Asynchronous Transfer Mode (ATM) network is an example of such a point to point communication system.
A typical ATM network consists of multiple interconnected ATM switch nodes, ingress and egress portals to and from other networks or equipment. As ATM cells enter ingress ports and traverse the network, the ATM switches examine each ATM cell header to determine where to send the cell. The cell might pass to another ATM switch or to an egress portal. In all cases, the interconnections between nodes are Point-to-Point, meaning any one port connects to just one other port.
ATM networks are circuit-switched connection-oriented networks, as opposed to broadcast or packet-switched connectionless networks. A circuit-switched network requires the establishment of a circuit before data can flow. The ATM standards define ATM circuits as Virtual connections (VC); each comprising a sequence of fixed length cells from a single point of origin to a single destination point. A virtual connection may be either a virtual channel or a virtual path. A virtual channel is a single point to point data connection, such as a telephone call. A virtual channel is unidirectional; it takes two channels, one in each direction, to establish a bi-direction connection. A virtual path is a group of virtual channels all following the same route. An ATM network conveying a virtual path should not be aware of the number of virtual channels carried within. The VC set up phase determines the route of cells through the network; all cells belonging to a virtual connection follow the exact same path through the network.
ATM networks rely on a switch tag embedded in the header of each cell to determine how to direct the cell. ATM switches in the path extract the switch tag and perform some calculation to determine the output port that leads to the next node. The numerical value of a switch tag is significant only to the two nodes on each end of each point to point interconnection. Each node typically translates the switch tag to a new value before passing the cell to the next node. Since the switch tag value is only locally significant, an outside observer cannot identify the endpoint destination of a cell by examining the switch tag; it is the virtual connection setup phase that determines the paths. Switch tag translation permits multiplexing of VCs from multiple sources with identical switch tag numbering onto a shared physical carrier.
In contrast to an ATM network, Point-to-Multipoint networks are connectionless and frequently rely on a shared broadcast medium to communicate. For example, an Ethernet LAN subnet contains one or more “broadcast domains”. Each broadcast domain connects all of its nodes onto a shared medium, such as interconnected copper wire. Whenever one node transmits a data packet, all other nodes in the broadcast domain receive the packet. Each node examines an IP destination address within every data packet and keeps only those packets with an IP address matching the recipient's address.
Data packet traffic between broadcast domains propagate based on the destination IP address. Unlike ATM networks, the destination IP address identifies the endpoint of the packet; the destination identifier doesn't change as the packet travels from node to node. All nodes have a way to determine which of its ports lead toward the destination node. Packets bound for the same destination may follow different paths as well. At any point in the network, the routing tag can tell an outside observer the destination of each packet. This forwarding technique is labeled “packet switching” and is the primary data transfer technique of the Internet.
Multicasting or point-to-multipoint transmission of data messages is accomplished in prior art Point-to-Point communication systems by making multiple copies of the data message and routing through a switch network to each of the intended recipients, ATM cells are typically multicast by this method. However difficulties arise in attempting to multicast data messages in a wireless or broadcast environment. Wireless systems, such as U.S. Pat. No. 6,016,313 which is incorporated herein by reference, don't route, they broadcast. All recipients within transmission range of and compatible with the transmitter receive the broadcast data messages. Therefore informing the recipients which data messages are intended for them is essential.
ATM cells contain switch tags, as discussed above, that contain all routing information necessary to direct a cell to its final destination. One solution for broadcasting ATM cells over a broadcast network includes replicating each broadcast cell (ATM cell designated to be transmitted over a broadcast network) and inserting a unique VPI/VCI combination that corresponds to a particular recipient in a broadcast domain. The copies of the broadcast cells each with a VPI/VCI combination unique for each intended recipient are then broadcast to all recipients in the broadcast domain. As such each broadcast cell is broadcast multiple times, once for each intended recipient participating in the multicast. Each remote within the broadcast domain would then look at every broadcast cell's header and keep only the ones containing matching VPI/VCI. In a multicast involving 25 intended recipients within a broadcast domain of 50 remote stations, the same broadcast cell would be replicated and broadcast 25 times. Each of the fifty remote stations would have to examine each of the 25 broadcast cells to determine if they were the intended recipients. As a result 25 cells would be broadcast and the header of the cells would be examined 1250 times by the remotes, all in the attempt to send the same message to 25 recipients. This approach is obviously an inefficient solution.
Additionally when broadcasting to a plurality of remotes, it is necessary to consider the individual capabilities of each of the intended remote stations particularly the Quadrature amplitude modulation (QAM) level. The data messages must be broadcast in a manner receivable for each of the intended remotes without the requirement of tailoring the transmission to each of the intended remotes. Such tailoring would result in broadcasting the same data message numerous times to account for intended remote stations differences, again resulting in an inefficient use of bandwidth and increased computational load on both the base station and the remote stations. Thus there is a need for an improved method for casting and multicasting data in a broadcast mode.
The subject matter of the present invention adapts a broadcast Point-to-Multipoint architecture to include Point-to-Point traffic.
Multicasting is used synonymously with broadcasting through out the application, however multicasting retains is characteristic of being a subset of broadcasting and thus should not be viewed to narrow the scope to the present invention beyond this characteristic.